package com.yuju.login.service.impl;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.yuju.common.core.dao.IBaseDao;
import com.yuju.common.core.service.AbstractBaseService;
import com.yuju.login.dao.IOpHotelDao;
import com.yuju.login.dao.entity.OpHotel;
import com.yuju.login.model.OpHotelModel;
import com.yuju.login.service.IOpHotelService;
import com.yuju.util.Utils;
/**
 * 
 * 类名：OpHotelServiceImpl  <br />
 *
 * 功能：
 *
 * @author : zhousc <br />
 * @Date : 2017年12月4日 上午10:50:06  <br />
 * @version : 1.1 <br />
 */
@Service
public class OpHotelServiceImpl extends AbstractBaseService<OpHotelModel, OpHotel, String> implements IOpHotelService{

	@Autowired
	private IOpHotelDao opHotelDao;
	
	@Override
	public IBaseDao<OpHotelModel, OpHotel, String> getDao() {
		// TODO Auto-generated method stub
		return opHotelDao;
	}

	/**
	 * 
	 * 功能: <br/>
	 * 
	 * 重写：zhousc <br/>
	 * 
	 * @Date ：2017年12月4日 上午10:50:54<br/>
	 * 
	 * @param opHotelModel
	 * @return <br/>
	 * @see com.yuju.common.core.service.AbstractBaseService#save(java.lang.Object)
	 */
	@Override
	public int save(OpHotelModel opHotelModel){
		opHotelModel.setGmtCreate(new Date());
		opHotelModel.setGmtModified(new Date());
		if(Utils.isNotNull(opHotelModel.getHotelIds())){
			for(int i = 0; i < opHotelModel.getHotelIds().length; i++){
				opHotelModel.setId(Utils.getUUID());
				opHotelModel.setHotelId(opHotelModel.getHotelIds()[i]);
				this.getDao().saveSelective(opHotelModel);
			}
		} else {
			opHotelModel.setId(Utils.getUUID());
			this.getDao().saveSelective(opHotelModel);
		}
		
		
		return 1;
	}
	/**
	 * 
	 * 功能: <br/>
	 * 
	 * 重写：zhousc <br/>
	 * 
	 * @Date ：2017年12月4日 上午10:50:59<br/>
	 * 
	 * @param opHotelModel
	 * @return <br/>
	 * @see com.yuju.common.core.service.AbstractBaseService#updateSelective(java.lang.Object)
	 */
	@Override
	public int updateSelective(OpHotelModel opHotelModel){
		//先删除账号的分店范围 重新添加
		this.getDao().del(opHotelModel.getOpId());
		
		opHotelModel.setGmtModified(new Date());
		for(int i = 0; i < opHotelModel.getHotelIds().length; i++){
			opHotelModel.setId(Utils.getUUID());
			opHotelModel.setHotelId(opHotelModel.getHotelIds()[i]);
			this.getDao().saveSelective(opHotelModel);
		}
		
		return 1;
	}

	/**
	 * 
	 * 功能: 根据账号Id查询分店数据范围<br/>
	 * 
	 * 重写：zhousc <br/>
	 * 
	 * @Date ：2017年12月5日 上午10:14:05<br/>
	 * 
	 * @param opId
	 * @return <br/>
	 * @see com.yuju.login.service.IOpHotelService#hotelListByOpId(java.lang.String)
	 */
	@Override
	public List<OpHotelModel> hotelListByOpId(String opId) {
		// TODO Auto-generated method stub
		return convert(opHotelDao.hotelListByOpId(opId));
	}
	
	
}
